1. Field of the Invention
This invention relates to detecting transmission related errors in a packet-based communication system.
2. Discussion of Art
This section introduces various aspects that may aid the reader in obtaining a better understanding of various aspects of the inventions and should not be understood to include statements about what is prior art or what is not prior art.
One goal of communication systems is to ensure that messages received by intended recipients are unaltered copies of the transmitted messages. For that reason, communication systems often employ error detection techniques that enable a recipient to determine whether a received message was altered during transmission. One technique for detecting channel-induced message errors is based on a cyclic redundancy check (CRC) code. A CRC code typically transforms a sequence of digital data symbols, e.g., representing a data message, to produce a sequence of digital check symbols. The sequence of digital check symbols is transmitted with the sequence of digital data symbols and a recipient uses the sequence of digital check symbols to evaluate whether the received sequence of digital data symbols is the same sequence that was originally transmitted.
Some systems generate such a sequence of digital check symbols and detect transmission errors from the transmitted sequence of digital check symbols by using a feedback shift register. For example, a binary CRC code can be implemented with a shift register that is controlled by feedback via exclusive-OR (XOR) logic. The contents of memory elements of the shift register typically correspond to a remainder sequence that is produced by the division of the sequence of digital data symbols by a fixed generator polynomial. The remainder sequence is typically appended to the end of the sequence of digital data symbols for transmission to recipients of the data packet. In such systems, the remainder sequence is typically serially computed on a bit-by-bit basis prior to transmission of the data packet.